package com.softer.wxzj.mapper;

import com.softer.wxzj.entity.ExpPayReq;
import com.softer.wxzj.entity.ExpRevocation;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ExpRevocationMapper {
    int insert(ExpRevocation record);

    int insertSelective(ExpRevocation record);

    /**
     * 查询详情
     *
     * @param id ID
     * @return 撤销详情
     */
    ExpRevocation getInfo(String id);
    int countByProjectId(@Param("id")String id);
    /**
     * 审核结束，更新状态
     *
     * @param expRevocation 更新实体
     * @return 结果
     */
    int updateState(ExpRevocation expRevocation);

    /**
     * 精确查询
     * 维修项目撤销列表
     *
     * @param expRevocation 查询实体
     * @return 列表
     */
    List<ExpRevocation> getProjectList(ExpRevocation expRevocation);

    /**
     * 模糊查询
     * 维修项目撤销列表
     *
     * @param expRevocation 查询实体
     * @return 列表
     */
    List<ExpRevocation> fuzzyProjectList(ExpRevocation expRevocation);

    /**
     * 精确查询
     * 拨款申请撤回列表
     *
     * @param expPayReq 查询实体
     * @return 列表
     */
    List<ExpPayReq> getPayList(ExpPayReq expPayReq);

    /**
     * 模糊查询
     * 拨款申请撤回列表
     *
     * @param expPayReq 查询实体
     * @return 列表
     */
    List<ExpPayReq> fuzzyPayList(ExpPayReq expPayReq);

    /**
     * 项目撤销查询列表
     *
     * @param expRevocation 查询实体
     * @return 撤销列表
     */
    List<ExpRevocation> revocationProject(ExpRevocation expRevocation);

    /**
     * 拨款撤销查询列表
     *
     * @param expRevocation 查询实体
     * @return 撤销列表
     */
    List<ExpRevocation> revocationPay(ExpRevocation expRevocation);

    /**
     * 精确查询
     * 查询项目撤销审批列表
     *
     * @param expRevocation 查询实体
     * @return 审批列表
     */
    List<ExpRevocation> getProjectAuditList(ExpRevocation expRevocation);

    /**
     * 模糊查询
     * 查询项目撤销审批列表
     *
     * @param expRevocation 查询实体
     * @return 审批列表
     */
    List<ExpRevocation> fuzzyProjectAuditList(ExpRevocation expRevocation);

    /**
     * 精确查询
     * 查询拨款申请撤销审批列表
     *
     * @param expRevocation 查询实体
     * @return 审批列表
     */
    List<ExpRevocation> getPayAuditList(ExpRevocation expRevocation);

    /**
     * 模糊查询
     * 查询拨款申请撤销审批列表
     *
     * @param expRevocation 查询实体
     * @return 审批列表
     */
    List<ExpRevocation> fuzzyPayAuditList(ExpRevocation expRevocation);
}